﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="IDatabaseManager.cs" company="Marcin Jastrzebski">
//   Copyright (c) Marcin Jastrzebski (marcin@marcinj.net)
// </copyright>
// <summary>
//   Manages the list of password databases.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace mPassRT.Services
{
    using System.Collections.Generic;

    using mPassRT.ViewModels;

    using Windows.Storage;

    /// <summary>Manages the list of password databases.</summary>
    public interface IDatabaseManager
    {
        #region Public Properties

        /// <summary>Gets the current list of databases.</summary>
        /// <returns>The list of DBs.</returns>
        IList<Database> Databases { get; }

        #endregion

        #region Public Methods and Operators

        /// <summary>Adds a database from a file.</summary>
        /// <param name="file">The file.</param>
        /// <returns>The <see cref="Database"/>.</returns>
        Database AddDatabase(StorageFile file);

        /// <summary>Removes the specified DB.</summary>
        /// <param name="db">The DB.</param>
        void RemoveDatabase(Database db);

        #endregion
    }
}